﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
    int n = 0;
    cin >> n;
    int cnt = 0;
    do
    {
        n = n / 10;
        cnt++;
    } while (n);
    cout << cnt << endl;
    return 0;
}
//int main()
//{
//    int i = 1;
//    do
//    {
//        cout << i << " ";
//        i = i + 1;
//    } while (i <= 10);
//    return 0;
//}
//int n;
//float x, y;
//int a, b;
//int main()
//{
//    cin >> n;
//    cin >> a >> b;
//    x = b * 1.0 / a;
//    for (int i = 0; i < n - 1; i++)
//    {
//        cin >> a >> b;
//        y = b * 1.0 / a;
//        if (y - x > 0.05)
//            cout << "better" << endl;
//        else if (x - y > 0.05)
//            cout << "worse" << endl;
//        else
//            cout << "same" << endl;
//    }
//    return 0;
//}
//int main()
//{
//	int n;
//	cin >> n;
//
//}
//int main()
//{
//	int n;
//	cin >> n;
//	int a, b, c;
//	int sum1 = 0, sum2 = 0, sum3 = 0;
//	while (n)
//	{
//		cin >> a >> b >> c;
//		sum1 += a;
//		sum2 += b;
//		sum3 += c;
//		n--;
//	}
//	cout << sum1 << " " << sum2 << " " << sum3<<" ";
//	cout << sum1+sum2+sum3 << endl;
//	return 0;
//}
//int main()
//{
//    int n = 0;
//    int t = 0;
//    int sum = 0;
//    cin >> n;
//    for (int i = 1; i <= n; i++)
//    {
//        cin >> t;
//        sum += t;
//    }
//    printf("%.2lf\n", sum * 1.0 / n);
//    return 0;
//}
//小小的优化
//如果能直接产生3的倍数的数字就省去了多余的循环和判断
//int main()
//{
//    int i = 0;
//    int sum = 0;
//    for (i = 3; i <= 100; i += 3)
//    {
//        sum += i;
//    }
//    cout << sum << endl;
//    return 0;
//}
//int main()
//{
//    int i = 0;
//    int sum = 0;
//    for (i = 1; i <= 100; i++)
//    {
//        if (i % 3 == 0)
//        {
//            sum += i;
//        }
//    }
//    cout << sum << endl;
//    return 0;
//}
////代码2
//int main()
//{
//    for (int i = 1; i <= 10; i++)
//    {
//        cout << i << " ";
//    }
//    return 0;
//}
////代码1
//int main()
//{
//    int i = 0;
//    for (i = 1; i <= 10; i++)
//    {
//        cout << i << " ";
//    }
//	return 0;
//}
//int main()
//{
//	double x;
//	int n;
//	cin >> x >> n;
//	double sum = 0.0;
//	while (n)
//	{
//		sum+=pow(x, n);
//		n--;
//	}
//	printf("%.2f", sum + 1.0);
//	return 0;
//}
//int main()
//{
//    long long n = 0;
//    cin >> n;
//    while (n != 1)
//    {
//        if (n % 2 == 1)
//        {
//            cout << n << "*3+1=" << n * 3 + 1 << endl;
//            n = n * 3 + 1;
//        }
//        else
//        {
//            cout << n << "/2=" << n / 2 << endl;
//            n /= 2;
//        }
//    }
//    cout << "End" << endl;
//    return 0;
//}
//int main()
//{
//	long long m;
//	int k;
//	cin >> m >> k;
//	long long num = 0;
//	while (m)
//	{
//		if (m % 10 == 3)
//		{
//			num++;
//		}
//		m /= 10;
//	}
//	if (num == k)
//	{
//		cout << "YES" << endl;
//	}
//	else
//	{
//		cout << "NO" << endl;
//	}
//	return 0;
//}
//int main()
//{
//	long long n;
//	cin >> n;
//	cout << (1 + n) * n / 2 << endl;
//	return 0;
//}
//int main()
//{
//	int n;
//	cin >> n;
//	int sum = 0;
//	while (n)
//	{
//		sum+=n % 10;
//		n /= 10;
//	}
//	cout << sum << endl;
//	return 0;
//}
//int main()
//{
//	int n;
//	cin >> n;
//	while (n)
//	{
//		cout << n % 10;
//		n /= 10;
//	}
//	return 0;
//}
//int main()
//{
//    int i = 1;
//    while (i <= 10)
//    {
//        cout << i << " ";
//        i = i + 1;
//    }
//}
//int main()
//{
//	int a, b;
//	char c;
//	cin >> a >> b >> c;
//	switch (c)
//	{
//	case '+':
//		cout << a + b << endl;
//		break;
//	case '-':
//		cout << a - b << endl;
//		break;
//	case '*':
//		cout << a * b << endl;
//		break;
//	case '/':
//		if (b == 0) {
//			cout << "Divided by zero!" << endl;
//		}
//		else
//		{
//			cout << a / b << endl;
//		}
//		break;
//	default:
//		cout << "Invalid operator!" << endl;
//		break;
//	}
//	return 0;
//}
//int main()
//{
//	int year, month;
//	scanf("%4d%2d", &year,&month);
//	if (month >= 3 && month <= 5)
//	{
//		cout << "spring" << endl;
//	}
//	else if (month >= 6 && month <= 8)
//	{
//		cout << "summer" << endl;
//	}
//	else if (month >= 9 && month <= 11)
//	{
//		cout << "autumn" << endl;
//	}
//	else
//	{
//		cout << "winter" << endl;
//	}
//	return 0;
//}
//int main()
//{
//    int day = 0;
//    cin >> day;
//    switch (day)
//    {
//    case 1:
//    case 2:
//    case 3:
//    case 4:
//    case 5:
//        cout << "Workday" << endl;
//        break;
//    case 6:
//    case 7:
//        cout << "Weekend" << endl;
//        break;
//    default:
//        cout << "input error!" << endl;
//        break;
//    }
//    return 0;
//}
//int main()
//{
//    int day = 0;
//    cin >> day;
//    switch (day)
//    {
//    case 1:
//    case 2:
//    case 3:
//    case 4:
//    case 5:
//        cout << "Workday" << endl;
//        break;
//    case 6:
//    case 7:
//        cout << "Weekend" << endl;
//        break;
//    }
//    return 0;
//}
//int main()
//{
//	int day = 0;
//	cin >> day;
//	switch (day)
//	{
//	case 1:
//        cout << "Monday" << endl;
//        break;
//	case 2:
//        cout << "Tuesday" << endl;
//        break;
//    case 3:
//        cout << "Wednesday" << endl;
//        break;
//    case 4:
//        cout << "Thursday" << endl;
//        break;
//    case 5:
//        cout << "Friday" << endl;
//        break;
//    case 6:
//        cout << "Saturday" << endl;
//        break;
//    case 7:
//        cout << "Sunday" << endl;
//        break;
//    }
//    return 0;
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	switch (n % 3)
//	{
//	case 0:
//		cout << "整除，余数为0" << endl;
//		break;
//	case 1:
//		cout << "余数是1" << endl;     
//		break;
//	case 2:
//		cout << "余数是2" << endl; 
//		break;
//	}
//	return 0;
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	switch (n % 3)
//	{
//	case 0:
//		cout << "余数为0" << endl;
//	case 1:
//		cout << "余数是1" << endl;
//	case 2:
//		cout << "余数是2" << endl;
//	}
//	return 0;
//}
//int main()
//{
//	int n = 0;
//	cin >> n;
//	if (n % 3 == 0)
//		cout << "余数为0" << endl;
//	else if (n % 3 == 1)
//		cout << "余数是1" << endl;
//	else
//		cout << "余数是2" << endl;
//	return 0;
//}
//int main()
//{
//	int x;
//	cin >> x;
//	//同时满⾜的情况
//	if (x % 2 == 0 && (x > 4 && x <= 12))
//		cout << 1;
//	else
//		cout << 0;
//	//⾄少满⾜⼀种情况
//	if (x % 2 == 0 || (x > 4 && x <= 12))
//		cout << " " << 1;
//	else
//		cout << " " << 0;
//	//只满⾜⼀种情况
//	if ((x % 2 == 0) + (x > 4 && x <= 12) == 1)
//		cout << " " << 1;
//	else
//		cout << " " << 0;
//	//⼀种情况都不满⾜
//	if ((x % 2 == 0) + (x > 4 && x <= 12) == 0)
//		cout << " " << 1;
//	else
//		cout << " " << 0;
//	return 0;
//}
//int main()
//{
//	cout << 3 << endl;//输出的数字3
//	cout << '3' << endl;//输出的字符3
//	cout << "3" << endl;//输出的字符串3
//	return 0;
//}
//int main()
//{
//	int n = 0;
//	cin >> n;
//	if (n % 3 == 0)
//	{
//		cout << 3 << " ";
//	}
//	if (n % 5 == 0)
//	{
//		cout << 5 << " ";
//	}
//	if (n % 7 == 0)
//	{
//		cout << 7 << " " << endl;
//	}
//	if (n % 3 != 0 && n % 5 != 0 && n % 7 != 0)
//		cout << "n" << endl;
//}
//int main()
//{
//	int x;
//	cin >> x;
//	if (x % 3 == 0 && x % 5 == 0 && x % 7 == 0)
//	{
//		cout <<"3 " <<"5 " <<"7 " << endl;
//	}
//	else if((x%3==0&&x%5==0&&x%7!=0))
//	{
//		cout << "3 " << "5 " << endl;
//	}
//	else if (x % 3 == 0 && x % 5 != 0 && x % 7 == 0)
//	{
//		cout <<"3 " << "7 " << endl;
//	}
//	else if (x % 3 != 0 && x % 5 == 0 && x % 7 == 0)
//	{
//		cout << "5 " << "7 " << endl;
//	}
//	else if (x % 3 != 0 && x % 5 != 0 && x % 7 != 0)
//	{
//		cout << 'n' << endl;
//	}
//	else
//	{
//		if (x % 3 == 0)
//		{
//			cout <<"7 " << endl;
//		}
//		if (x % 5 == 0)
//		{
//			cout <<"5 " << endl;
//		}
//		if (x % 7 == 0)
//		{
//			cout << "7 " << endl;
//		}
//	}
//}
//int main()
//{
//	int a, b, c;
//	cin >> a >> b >> c;
//	if (a + b > c && a + c > b && b + c > a) {
//		cout << '1' << endl;
//	}
//	else
//	{
//		cout << '0' << endl;
//	}
//	return 0;
//}
//#include <iostream>
//using namespace std;
//int main()
//{
//	int d = 0;
//	cin >> d;
//	if (d == 1 || d == 3 || d == 5)
//		cout << "NO" << endl;
//	else
//		cout << "YES" << endl;
//	return 0;
//}
//int main()
//{
//	int n;
//	cin >> n;
//	if (n % 2 != 0&&n!=7) {
//		cout << "NO" << endl;
//	}
//	else
//	{
//		cout << "YES" << endl;
//	}
//}
//int main()
//{
//	int year = 0;
//	cin >> year;
//	if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
//		cout << "1" << endl;
//	else
//		cout << "0" << endl;
//	return 0;
//}
//int main()
//{
//	int flag = 0;
//	if (!flag)
//	{
//		cout << "do something" << endl;
//	}
//	return 0;
//}
//int main()
//{
//	int m, t, s;
//	cin >> m >> t >> s;
//	if (t == 0)
//	{
//		cout << t << endl;
//		return 0;
//	}
//	if (s % t == 0)
//		cout << ((m - s / t) > 0 ? (m - s / t) : 0) << endl;
//	else
//		cout << ((m - s / t - 1) > 0 ? (m - s / t - 1) : 0) << endl;
//}
//int main()
//{
//	int x, y;
//	cin >> x >> y;
//	cout << (y % x == 0 ? x + y : y - x) << endl;
//}
//int main()
//{
//	int a,b,c;
//	cin >> a >> b >> c;
//	if (a > b) {
//		int temp = b;
//		b = a;
//		a = temp;
//	}
//	if (c > b) {
//		int temp = b;
//		b = c;
//		c = temp;
//	}
//	cout << b << endl;
//
//}
//int main()
//{
//	int a = 0;
//	int b = 0;
//	cin >> a >> b;
//	b = (a > 5 ? 3 : -3);
//	cout << b << endl;
//	return 0;
//}
//int main()
//{
//	int a = 0;
//	int b = 0;
//	cin >> a;
//	if (a > 5)
//		b = 3;
//	else
//		b = -3;
//	cout << b << endl;
//	return 0;
//}
//int main()
//{
//	int a1, a2, n;
//	cin >> a1 >> a2 >> n;
//	cout << (a2 - a1) * (n-2) + a2 << endl;
//	return 0;
//}
//int main()
//{
//	int s1, s2, s3;
//	int c = 0;
//	cin >> s1 >> s2 >> s3;
//	if ((s1 < 60) + (s2 < 60) + (s2 < 60) == 1)
//		cout << 1 << endl;
//	else
//		cout << 0 << endl;
//	return 0;
//}
//int main()
//{
//	int a, b, c;
//	cin >> a >> b >> c;
//	if ((a >= 60 && b >= 60 && c < 60)||(a >= 60 && b < 60 && c >= 60)|| (a < 60 && b >= 60 && c >= 60))
//		cout << '1' << endl;
//	else
//		cout << "0" << endl;
//	return 0;
//}
//int main()
//{
//	double a = 0.1;
//	double b = 0.2;
//	double c = 0.3;
//	if (fabs((a + b) - c) < 1e-9)   // 1e-9 表⽰允许的误差范围
//		cout << "a + b 约等于c" << endl;
//	else
//		cout << "a + b不等于c" << endl;
//	return 0;
//}
//int main()
//{
//	int x;
//	if (x == 3)
//	{
//		cout << "x is 3" << endl;
//	}
//}
//int main()
//{
//	int n = 0;
//	cin >> n;
//	if (n % 2 == 1)
//		cout << "odd" << endl;
//	else if (n % 2 == -1)
//		cout << "odd" << endl;
//	else
//		cout << "even" << endl;
//	return 0;
//}
//int main()
//{
//	int n;
//	cin >> n;
//	if (n % 2 == 0)
//		cout << "even" << endl;
//	else
//		cout << "odd" << endl;
//	return 0;
//}
//int main()
//{
//	double n = 0;
//	cin >> n;
//	n = fabs(n);
//	printf("%.2f\n", n);
//	return 0;
//}
//long long x, y;
//int main()
//{
//	double n = 0;
//	cin >> n;
//	if (n < 0)
//		printf("%.2f", -1*n);
//	else
//		printf("%.2f", n);
//	return 0;
//}
//int main()
//{
//	cin >> x >> y;
//	if (x == y)
//		cout << "=" << endl;
//	else if (x > y)
//		cout << ">" << endl;
//	else
//		cout << "<" << endl;
//	return 0;
//}
//int main()
//{
//	int m, n;
//	cin >> m >> n;
//	if (m % n == 0)
//		cout << "YES" << endl;
//	else
//		cout << "NO" << endl;
//	return 0;
//}
//int main()
//{
//    int a = 0;
//    int b = 2;
//    if (a == 1)
//    {
//        if (b == 2)
//            cout << "hehe" << endl;
//    }
//    else
//    {
//        cout << "haha" << endl;
//    }
//    return 0;
//}
//int main()
//{
//	//方法三
//	int n = 0;
//	cin >> n;
//	if (n >= 0)
//	{
//		if (n > 0)
//			cout << "positive" << endl;
//		else if (n == 0)
//			cout << "zero" << endl;
//	}
//	else
//		cout << "negative" << endl;
//	return 0;
//}
//int main()
//{
//	int N;
//	cin >> N;
//	if (N > 0)
//	{
//		cout << "positive" << endl;
//	}
//	else
//	{
//		if (N == 0)
//		{
//			cout << "zero" << endl;
//		}
//		else
//		{
//			cout << "negative" << endl;
//		}
//	}
//	return 0;
//}
//int main()
//{
//	int N;
//	cin >> N;
//	if (N>0)
//	{
//		cout << "positive" << endl;
//	}
//	else if(N==0)
//	{
//		cout << "zero" << endl;
//	}
//	else
//	{
//		cout << "negative" << endl;
//	}
//	return 0;
//}
//int main()
//{
//	int age = 0;
//	cin >> age;
//	if (age >= 18)
//	{
//		cout << "成年" << endl;
//		cout << "可以谈恋爱了" << endl;
//	}
//	else
//	{
//		cout << "未成年" << endl;
//		cout << "不能早恋" << endl;
//	}
//	return 0;
//}
//int main()
//{
//	int age = 0;
//	cin >> age;
//	if (age >= 18)
//		cout << "成年" << endl;
//	else
//		cout << "未成年" << endl;
//	return 0;
//}
//int main()
//{
//	int n = 0;
//	cin >> n;
//	if (n % 2 == 1)
//		cout << n << "是奇数" << endl;
//	else
//		cout << n << "是偶数" << endl;
//	return 0;
//}
//int main()
//{
//	int n = 0;
//	cin >> n;
//	if (n % 2 == 1)
//		cout << n << "是奇数" << endl;
//	return 0;
//}